﻿using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;

namespace Vaccination.API.Repositories
{
    /// <summary>
    /// 疫苗接种信息
    /// </summary>
    public class VaccinationInfo
    {
        /// <summary>
        /// 主键
        /// </summary>
        [Comment("主键")]
        public Guid Id { get; set; }

        /// <summary>
        /// 疫苗Id
        /// </summary>
        [Comment("疫苗Id")]
        public Guid VaccineId { get; set; }

        /// <summary>
        /// 疫苗名称
        /// </summary>
        [Comment("疫苗名称")]
        [MaxLength(32)]
        public string? VaccineName { get; set; }

        /// <summary>
        /// 预约接种用户Id
        /// </summary>
        [Comment("预约接种用户Id")]
        public Guid UserId { get; set; }

        /// <summary>
        /// 预约接种用户名
        /// </summary>
        [Comment("预约接种用户名")]
        [MaxLength(32)]
        public string? UserName { get; set; }

        /// <summary>
        /// 预约接种时间
        /// </summary>
        [Comment("预约接种时间")]
        public DateTime BookedTime { get; set; }

        /// <summary>
        /// 接种状态（1-待接种/2-已接种/3-已取消）
        /// </summary>
        [Comment("接种状态（1-待接种/2-已接种/3-已取消）")]
        public int Status { get; set; }

        /// <summary>
        /// 接种完成时间
        /// </summary>
        [Comment("接种完成时间")]
        public DateTime? CompletedTime { get; set; }

        /// <summary>
        /// 记录创建时间
        /// </summary>
        [Comment("创建时间")]
        public DateTime CreatedTime { get; set; }

        /// <summary>
        /// 修改时间
        /// </summary>
        [Comment("最近修改时间")]
        public DateTime? LastModifiedTime { get; set; }
    }
}
